// 子模块 store文件下除index.js其他的默认都是子模块（文件名是模块名）
// 在 store文件下建一个user.js  第一种完全写入user.js这个模块里  
import {setToken,removeToken} from "@/utils/cookie"
export const state=()=>{ //state不是对象  是箭头函数
    return {
        list:[ ],
        roles:[],//角色
        userInfo:{}
    }
}
export const mutations={
    SETLIST(state,payload){
        state.list=payload
    },
    SET_ROLES(state,roles){
        state.roles=roles
    },
    SET_USER_INFO(state,obj){
        state.userInfo=obj
    }

}
export const actions={
    // 用户退出
    async doLogout({commit}){
        commit("SET_ROLES",[])
        commit("SET_USER_INFO",{})
        removeToken()
    },
    // 根据token得到用户相关信息
    async getUserInfo({commit},{axios,token}){
        const {data}=await axios.get('http://localhost:2345/users/user-info?token='+token)
        const {roles}=data.data
        commit("SET_ROLES",roles.split(','))
        commit("SET_USER_INFO",data.data)
    }, 
    // 用户登录
    async doLogin({},{form,$axios}){
        const {data}=await $axios.post("http://localhost:2345/users/user_login",form);
        setToken(data.data.token);
    },
    async getData(state,$axios){ 
        let {data}=await $axios.get( "http://localhost:2345/users/getUser/?pageSize=10");
        state.commit("SETLIST",data.data)
    }
}
export const getters={
    
}